import { IPSAppDEAction } from '../dataentity/ipsapp-deaction';
import { IPSAppUILogic } from './ipsapp-uilogic';
import { IPSAppUILogicRefView } from './ipsapp-uilogic-ref-view';

/**
 *
 * 继承父接口类型值[APP_NEWDATA]
 * @export
 * @interface IPSAppUINewDataLogic
 */
export interface IPSAppUINewDataLogic extends IPSAppUILogic {
  /**
   * 向导添加后操作
   * @type {string}
   */
  actionAfterWizard: string;

  /**
   * 批添加应用实体方法
   *
   * @type {IPSAppDEAction}
   */
  getBatchAddPSAppDEAction(): IPSAppDEAction | null;

  /**
   * 批添加应用实体方法
   *
   * @type {IPSAppDEAction}
   */
  get batchAddPSAppDEAction(): IPSAppDEAction | null;

  /**
   * 批添加应用实体方法（必须存在）
   *
   * @type {IPSAppDEAction}
   */
  getBatchAddPSAppDEActionMust(): IPSAppDEAction;

  /**
   * 批添加新建数据视图集合
   *
   * @type {IPSAppUILogicRefView[]}
   */
  getBatchAddPSAppViews(): IPSAppUILogicRefView[] | null;

  /**
   * 批添加新建数据视图集合
   *
   * @type {IPSAppUILogicRefView[]}
   */
  get batchAddPSAppViews(): IPSAppUILogicRefView[] | null;

  findBatchAddPSAppUILogicRefView(objKey: any): IPSAppUILogicRefView | null;

  /**
   * 默认新建数据视图
   *
   * @type {IPSAppUILogicRefView}
   */
  getNewDataPSAppView(): IPSAppUILogicRefView | null;

  /**
   * 默认新建数据视图
   *
   * @type {IPSAppUILogicRefView}
   */
  get newDataPSAppView(): IPSAppUILogicRefView | null;

  /**
   * 默认新建数据视图（必须存在）
   *
   * @type {IPSAppUILogicRefView}
   */
  getNewDataPSAppViewMust(): IPSAppUILogicRefView;

  /**
   * 多模式新建数据视图集合
   *
   * @type {IPSAppUILogicRefView[]}
   */
  getNewDataPSAppViews(): IPSAppUILogicRefView[] | null;

  /**
   * 多模式新建数据视图集合
   *
   * @type {IPSAppUILogicRefView[]}
   */
  get newDataPSAppViews(): IPSAppUILogicRefView[] | null;

  findNewDataPSAppUILogicRefView(objKey: any): IPSAppUILogicRefView | null;

  /**
   * 新建数据向导视图
   *
   * @type {IPSAppUILogicRefView}
   */
  getWizardPSAppView(): IPSAppUILogicRefView | null;

  /**
   * 新建数据向导视图
   *
   * @type {IPSAppUILogicRefView}
   */
  get wizardPSAppView(): IPSAppUILogicRefView | null;

  /**
   * 新建数据向导视图（必须存在）
   *
   * @type {IPSAppUILogicRefView}
   */
  getWizardPSAppViewMust(): IPSAppUILogicRefView;

  /**
   * 只支持批添加
   * @type {boolean}
   */
  batchAddOnly: boolean;

  /**
   * 支持批添加
   * @type {boolean}
   */
  enableBatchAdd: boolean;

  /**
   * 支持向导添加
   * @type {boolean}
   */
  enableWizardAdd: boolean;
}
